package cn.kinoko.service.manga;

import cn.kinoko.model.manga.entity.MangaMarkComment;
import cn.kinoko.model.manga.vo.MarkCommentVO;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author kinoko
 */
public interface MangaMarkCommentService extends IService<MangaMarkComment> {

    /**
     * 撤销留言
     *
     * @param id 留言id
     * @return 执行结果
     */
    boolean undoComment(Long id);

    /**
     * 查询留言
     *
     * @param markId 留言id
     * @return 留言列表
     */
    List<MarkCommentVO> queryComment(Long markId);

    /**
     * 查询留言
     *
     * @param epRid 生肉章节id
     * @return 留言列表
     */
    List<MarkCommentVO> queryCommentByEpRid(Long epRid);

    /**
     * 查询留言
     *
     * @param epId 章节id
     * @return 留言列表
     */
    List<MarkCommentVO> queryCommentByEpId(Long epId);

    /**
     * 删除留言
     *
     * @param column 业务字段
     * @param id 业务id
     */
    void delById(SFunction<MangaMarkComment, ?> column, Long id);

    /**
     * 删除留言
     *
     * @param markIds 标注id列表
     */
    void delByMarkIds(List<Long> markIds);
}